MedleyVox: An Evaluation Dataset for Multiple Singing Voices Separation
https://scrapbox.io/files/6445dfdb4d2594001ca46cc0.png
日付
2023/4/24
論文リンク
https://arxiv.org/pdf/2211.07302.pdf
文献情報
MedleyVox: An Evaluation Dataset for Multiple Singing Voices Separation
Chang-Bin Jeon, Hyeongi Moon, Keunwoo Choi, Ben Sangbae Chon, Kyogu Lee
ICASSP 2023
https://github.com/jeonchangbin49/MedleyVox
要は何?
複数歌手分離:複数に重なった歌声パートの分離のための評価データセット及び分離モデルベースライン.
また,問題を1) duet separation, 2) unison separation, 3) main vs rest separation 4) N-singing separationに整理.
問題意識と解決策
音楽音源分離 - 歌と伴奏を分離
コーラス分離 - 合唱のパート同士を分離
-> ポピュラー音楽の複数ボーカルパートを分離する枠組みは今までやられてなかった.
タスクを確立するためのデータセット(MedleyVox)とベンチマークのモデル(iSRNet)として提供できるものを作った.
手法
複数歌手分離の評価のためのデータセット「MedleyVox」
https://scrapbox.io/files/64464c7e4d2594001cb374d3.png
4つの種類の問題設定に対応
1. Duet:異なるメロディ/パートを歌う2つの歌声の分離
2. Unison:同じパート or そのオクターブ上下のパートを歌う2つの歌声の分離
3. Main vs Rest:メインボーカルとバックコーラス(メイン以外,2つ以上のパート)の分離
4. N-singing:全てのNパート(N人の歌手ではない)を別々に分離
データはMedleyDB v1とv2から23曲収集.
歌手数とパート数両方のアノテーションががついている.(同じ声で重ね録りする場合もあるため)
複数歌手分離のためのトレーニングデータ
歌声データをランダムにミックスする.それぞれの設定でミックスの戦略は,
Duet -> 2つの単一歌唱を重ね合わせる
Unison -> オクターブ違いの単一歌唱を重ね合わせる
Main vs Rest -> メインを最も音量の大きいボーカルとし,Restとして任意の数の歌唱を重ねる
歌唱どうしの関係も考慮して,メインと同じ歌手かつ違う曲の歌唱 と,メインと異なる歌手かつ同じ曲の歌唱を一定の確立で混ぜる.
今回,実験ではgithub上にあるリストの歌声と,Librispeechを採用
https://scrapbox.io/files/64465afc6f7088001c1df60d.png
モデル
STFT-iSTFTベースの分離モデルを採用 
音声分離のSoTA SFSRNet は波形ベースだが,音楽は音声よりもパターンが多様であるため,Universal Source Separationに近いと仮定.そこで性能のいいのはSTFT-iSTFTベースのモデル.
ロス関数
Mixture consistency strategy
通常のSpeech separationで用いられるSI-SDRではクリッピングエラーの原因となるため.
yamamoto.icon SI-SDRは ConvTasNetでも持ちいられている
SNRとMulti-resolution STFT loss
分離音の品質向上のために
Permutation invariant training
コーラス分離はSATBのパートに割り当てられるが,今回の設定ではパートに明確な区切りはなく,歌手の入れ替わりが起こるかもしれない(Speech separationのpermutation problem)
これを防ぐために,Permutation invariant trainingを導入する.
DuetとUnisonではUtterance-level Permutation Invariant Training (uPIT)(https://arxiv.org/pdf/1703.06284.pdf )を導入.
Main vs Restではone-and-rest PIT (OR-PIT) (https://www.isca-speech.org/archive_v0/Interspeech_2019/pdfs/1550.pdf )を導入
yamamoto.icon ここではMainが一番音量が大きいという仮定を入れていて,全てのあり得るone vs restの組み合わせについてobjective functionを計算する必要はなく,一番ロスが低い組み合わせを採用している.
モデル Improved super-resolution network(iSRNet)
https://scrapbox.io/files/6446529b5ff6c0001cf390d4.png
SRNetの畳み込みブロックをConvNeXtブロックに変えた
実験とその結果
実験1.複数歌手分離に対する分析合成ベース手法の比較
https://scrapbox.io/files/64465341260fcf001bb4a42e.png
STFTベースの手法が良い,定性的には,ConvTasNetはばちばちしたノイズが混入していたよう.
実験2.Mixture Consistency の効果
https://scrapbox.io/files/64465551a1838f001ba8a38b.png
mixture consistency なしだと16bitのwavファイルの読み書き後にスケールを保存することができていない.
実験3.DuetとUnison(2歌手)の性能比較
https://scrapbox.io/files/644655c5f02350001ca57772.png
iSRNetを用いたConvTasNet-Lが性能良かった
歌声分離の分離用時間周波数マスクについて,Ideal(正解?)のものを適用させたものとも比較
IBM:バイナリマスク,IRM:両者の比を考慮,cIRM:複素数によるマスク
duetとunisonでは10dB以上性能の開きがあるが,cIRMのみ性能劣化を抑えられている.->位相情報がUnisonにおいては重要?
(このことについては本論文の範囲を超えるため触れる程度.)
実験4.Main vs rest
https://scrapbox.io/files/6446589131b18d001bd1473a.png
ConvTasNet-L (iSRNetなし)よりも性能は良いが,マスク適用ありより性能が悪い
失敗例の傾向についての考察
duetでは歌手パートの入れ替わりが頻出,また無音が長いと性能が悪くなる
main vs restではmainが歌わずrestだけ歌っている場合にrestがmainに割り当てられてしまう例があった
yamamoto.icon ex. QueenのDon't stop me nowならサビ後(?)の"Don't stop me now~ (メイン)'Cuz I'm having such a good time ~"のバックコーラスがメインに割り当てられる,的な
OR-PITの仮定が悪い方向に作用.(必ずmainがrestより大きい,という仮定はrestだけ歌っていると崩れる)
今後N-singingの対応も含め,一度Nパートに分離することを検討.
今後の課題
3-4分の長いトラックで行いたい
コメント
個人的にボーカルパートを個別に分離できないのが既存のMusic source separationの一番の不満点だったので単純に嬉しい
↑music source separationとの一貫学習も可能?
Medley DBのボーカルは自分の声の重ね録りでもエフェクトをかけた状態で重ねているものがあった.そうしたケースには対応できるのだろうか?
main vs restが一番多くの場合に対応できそう.
OR-PIT+でパート内で音色の一貫性に関するロスは入れられるか?(チャンクワイズだと難しそうなのはわかる.)